This invention relates generally to communication networks and, more particularly, to devices known as bridges, connected to two or more networks and providing a convenient mechanism for transferring data packets between one network and another. Even more particularly, the invention applies to networks that employ a protocol commonly referred to as Carrier Sense Multiple Access with Collision Detection (CSMA/CD). One such network is known as Ethernet.
Under the CSMA/CD rules for access to a network bus or cable, any station wishing to transmit must first "listen" to make sure that the cable is clear before beginning to transmit. All stations on the network have equal priority of access and may begin transmitting as soon as the line is clear and any required inter-packet delay has elapsed. However, if a first station that has started transmitting detects a "collision" with a transmission from another station, the first station continues transmitting for a short time to make sure that all stations wishing to transmit will detect the collision. Every other currently transmitting station that detects the collision also continues to transmit for a short time and terminates transmission. The stations involved in the collision select random, and therefore usually different, delay times before trying transmission again.
Partly because of the half-duplex operation of the networks to which the bridge is connected, the bridge has to provide buffer memory for temporarily storing data packets that it is unable to forward immediately onto the destination network. The size of the buffer memory depends on the amount of traffic that the bridge is called upon to handle, the congestion of the destination network, and the accepted level of packet loss. One possible solution to this difficulty is simply to provide a very large amount of buffer memory, so that there is practically always sufficient memory to store a data packet received from one network and destined for another network that is temporarily busy. However, a bridge with a very large buffer memory is costly to implement. For a bridge of lower cost, and smaller buffer memory, some form of congestion control is required, to limit the flow of data packets into the bridge. One way of doing this is, when receiving a data packet through one port of the bridge, to simply "jam" or inhibit data flow from the other port or ports of the bridge. Although this and similar techniques provide for a low-cost bridge implementation, they do not make the most efficient use of the bridge. Clearly, there is much room for improvement in providing traffic congestion control for bridges, and the present invention is directed to this end.
The cross-referenced application was concerned with techniques for handling traffic congestion by controlling the selection of backoff or delay values used in the event of contention for bus usage. By way of contrast, the present invention is concerned with a technique for reducing contention for the bus and thereby permitting use of smaller buffers, and improving network utilization because of a reduced number of collisions.
In the Ethernet implementation of the CSMA/CD protocol, there is a prescribed minimum time interval that a station must observe between consecutively transmitted or received packets. This minimum time interval, known as the inter packet gap (IPG), applies to the time between two received packets, the time between two transmitted packets, the time between the end of a received packet and the start of a packet transmission, and the time between the end of a transmitted packet and the start of receiving another packet. The time interval is specified to be 9.6.mu.s (microseconds). A problem sometimes arises in a station that is unable to support this 9.6.mu.s IPG. Some types of older station equipment still in widespread use are incapable of achieving a 9.6.mu.s minimum IPG and instead provide a value of approximately 12.mu.s. Such a station may be unable to start a transmission in the face of a continuous stream of data packets from the bridge, spaced apart by the specified 9.6.mu.s IPG. This condition is referred to as transmit "live-lock."
Accordingly, it will be appreciated that there is need for further improvement in the field of congestion control in Ethernet bridges. The present invention satisfies this need.